通过图形化开发平台快速构建移动机器人原型
从广义范畴上,机器人主要包括移动机器人、机械手、教育机器人三大种类。机械手与教育机器人已经有了相对成熟的行业解决方案,而移动机器人构成复杂、应用灵活,目前商业化程度还不高,主要处于前沿研究的阶段,一直以来都是科学家和工程师们关注的重点,本文将主要探讨移动机器人的快速原型与开发。
移动机器人简介
移动机器人的应用领域非常广泛,如图1所示,从军用、航空航天——无人飞行器 (UAV) 、无人潜航器 (UUV) 和无人地面车 (UGV) ,到工农业装备——采收机器人、智能化耕作机械,到家用服务机器人等,不一而足。而随着应用领域和环境的不同,机器人需要具备相对应的自主程度,这也为机器人的开发带来了不同的技术难点。全自主机器人通常会涉及到控制系统、自定位、实时视觉、多传感器融合等关键技术,而遥操作机器人则往往侧重于双向力反馈控制、虚拟环境建模、力觉接口等方面的研究。
图1 移动机器人的应用领域
尽管按照不同的应用场合机器人分类复杂且关键技术众多,但他们具有某些共同的构架和组成部分,是一个融合了众多机电系统和子系统的综合体系,并通过这些组成部分与子系统的有机结合协调工作。由于移动机器人构成复杂、应用灵活,虽然部分子系统已有现成的软硬件工具和解决方案,但如何快速地把各子系统集成在一起,进行早期的整体功能性验证,就成了决定机器人设计成败的关键性环节。
机器人设计的前沿方法:图形化系统设计
在Google X PRIZE机构、FIRST组织(科学技术的启示与认知组织)、RoboCup,以及美国国防高级研究计划局(DARPA)之间展开的竞争,推进了机器人学领域的创新。富有创新思维的开发者们将机器人学的前沿方法推进到了图形化系统设计。在LabVIEW图形化编程平台下,机器人学的领域专家能够对复杂的机器人方案进行快速的原型设计。他们可以不必关心底层的实现细节,将注意力集中到解决手上的工程问题即可。
机器人设计通常包含以下部分的工作内容,如图2所示。
图2 机器人设计平台
● 传感器连接:连接到陀螺仪、CCD、光电、超声等传感器,获取并处理信息。
● 控制设计与仿真:根据工作环境和应用需求,设计机器人的控制算法。
● 嵌入式控制:嵌入式控制系统相当于机器人的“大脑”,根据算法进行控制决策,完成管理协调、信息处理、运动规划等任务。
● 运动控制(执行器):根据具体的作业指令,通过驱动控制器、编码器和电机完成机器人的伺服控制与运动执行。
● 网络通信与控制:机器人各子系统间的通信网络,完成分布式控制与实时控制。
过去,由于在每个领域中必须使用各自的传统工具,其中涉及的知识具有较大的纵向深度,机械工程师、电气工程师以及程序员团队都各自领导机器人学的开发。 LabVIEW和NI硬件提供了一个独特的、功能多样的平台,它提供了一套标准的可供所有机器人设计人员使用的工具,从而使机器人开发得到了统一。
通过LabVIEW,设计人员无须成为计算机专家或程序员,就可以开发高级机器人。例如,一位只有有限LabVIEW和机器视觉经验的学生在短短几小时之内,就设计了一个让机器人利用它带有的IEEE 1394相机和NI机器视觉开发模块跟踪一个红球的算法。工程师们使用LabVIEW和NI硬件,就可以使用功能强大的图形化编程语言快速地设计并开发复杂算法的原型;并通过代码生成方便地将控制算法部署到PC、FPGA、微控制器或实时系统之中;还可以与几乎所有的传感器、执行器进行连接。此外,通过 LabVIEW和NI硬件平台,可以支持CAN、以太网、串口、USB等多种接口,方便地构建机器人系统的通信网络。现在,领域专家不仅仅能够完成机械工程师的工作,还能够成为机器人设计者。
实例分析
本实例介绍的是弗吉尼亚理工大学如何使用NI LabVIEW设计全自主地面车参加DARPA城市挑战赛。
DARPA城市挑战赛需要设计一辆能够在城市环境中自动导航行驶的全自主地面车。在整个赛程中,全自主车需要在6小时内穿越60英里,途经道路、路口和停车场等各种交通状态。在比赛开始时,参赛者会拿到任务档案公路网地图,并指定需要按一定顺序访问的检查站。
为了尽快到达检查站,车辆需要考虑所选道路的车速限制,可能的道路堵塞,以及其他交通状况。车辆在行驶中必须遵守交通规则,在十字路口注意安全驾驶和避让,妥善地处理与其他车辆之间的互动,以最高30英里的时速避让静态和动态的障碍物。
来自弗吉尼亚理工大学的团队需要在12个月开发出全自主地面车,他们将开发任务分成四个主要部分:基础平台、感知系统、决策规划和通信架构。
每一部分都基于NI的软硬件平台进行开发:通过NI硬件与现有车载系统进行交互,并提供操作接口;使用LabVIEW图形化编程环境来开发系统软件,包括通信架构、传感器处理和目标识别算法、激光测距仪和基于视觉的道路检测、驾驶行为控制、以及底层的车辆接口。
1 基础平台
弗吉尼亚理工大学的参赛车Odin是2005年福特翼虎(Escape)混合动力型越野车,如图3所示,并为自主驾驶做了一定程度的改装。NI CompactRIO系统与翼虎操控系统进行交互,通过线控驱动(drive-by-wire)的方式控制油门、方向盘、转向和制动。学生们利用 LabVIEW控制,设计与仿真模块开发了路径曲率和速度控制系统,并通过LabVIEW实时模块和FPGA模块部署到CompactRIO硬件平台加以实现,从而建立了一个独立的车辆控制平台。与此同时,学生使用LabVIEW触摸屏模块和NI TPC-2006触摸屏构建用户界面并安装在控制台。
图3 弗吉尼亚理工大学的参赛车Odin
2 感知系统
为了满足城市挑战赛的竞赛规则,Odin需要能够定位自身的位置,探测周围的路面状况和可用的行驶车道,识别路径中的所有障碍,并适当分类障碍车辆。 Odin安装了多种传感器以满足这些需求,其中包括3枚四平面激光测距仪( LRF )安装在保险杠,另有4枚LRF和2架计算机视觉相机安装在车顶行李架,以及高精度的全球定位系统/惯性测量装置系统(GPS/IMU)。
对于每一类感知需求,都通过多个传感器以实现最大的保真度和可靠性。为了达到灵活的传感器融合,规划软件忽略传感器原始数据,并使用一套由特定任务组件产生的独立于传感器的感知信息。例如,定位组件使用了LabVIEW卡尔曼滤波器来跟踪车辆的位置和方向;道路检测组件使用NI视觉开发模块,结合相机及 LRF的数据,确定路面状况和附近路段的每个车道;对象分类组件使用LabVIEW处理LRF数据以检测障碍并对障碍进行分类,然后预测动态障碍和其他车辆的路径及下一步行动。
图4 Odin系统组成框架
3 决策规划
路线规划组件使用的是A*搜索算法,以确定Odin应该经过哪些路段从而遍历所有的检查站。驾驶行为组件采用了基于行为的LabVIEW状态机架构,负责遵守交通规则并引导车辆沿计划路线行驶。运动规划组件进行迭代轨迹搜索,避让障碍并引导车辆沿理想轨迹行驶。最后决策判定系统将运动序列传递给车辆控制接口并转换为驱动器控制信号。
4 通信架构
整个通信框架都基于LabVIEW进行开发,实现了汽车工程师协会(SAE) AS-4无人系统联合架构(JAUS)协议,每个软件模块都是JAUS组件,所有模块之间的交互都是通过LabVIEW框架来完成的,每个软件模块可作为独立组件异步运行在Windows或Linux操作系统之下。完成整个通信构架中需要使用多种编程语言,由于LabVIEW的开放性,可以很方便地在其他编程环境中调用LabVIEW软件模块或与之接口。
5 使用LabVIEW的优势
LabVIEW平台提供了一个直观,易于使用的调试环境,可以让开发团队实时地监测源代码的运行,从而方便地实现硬件在环调试。通过LabVIEW开发环境,团队快速可以构建系统原型并加快设计的往复周期。此外, LabVIEW与硬件的无缝连接,对于执行某些关键操作如传感器处理和车辆控制是至关重要的。由于城市挑战赛问题复杂且开发时间很短,这些因素对于开发团队的成功发挥了关键作用。
总结
图形化系统设计对于继续加快机器人设计中的创新而言是必不可少的。复杂的传统工具可能会阻碍机器人技术的进步。LabVIEW提供了一个综合的、可扩展的平台,能够横跨设计、原型开发和部署阶段,因此工程师们能够不用为微小的实现细节所困扰,可以更加关注机器人本身。他们可以使用同样强大的平台,对微控制器直至FPGA等各种控制器进行编程;还可以同几乎任何传感器和执行器发送与接收信号;设计并仿真动态控制系统;以及实现进行远程监视或控制机器人的接口。LabVIEW图形化系统设计平台通过为所有机器人设计者提供一个统一的平台,鼓励设计更为精妙的机器人。
提交
自动化机床的故障排除技术浅析
安川焊接机器人编程
ABB机器人控制软件RobotWare应用手册SafeMove(英文)
ABB IRB7600 机器人维护信息
ABB IRC5P机器人培训教材